Искусство схемотехники. Том 3 [Изд.4-е] - Пауль Хоровиц
Шрифт:
Интервал:
Закладка:
Упражнение 14.1. Проверьте сами наши арифметические вычисления температурного диапазона, который обеспечивается приведенными на рис. 14.43 номиналами резисторов.
Отметим, что мы сопрягли АЦП через шину параллельного порта, а не более обычным способом, т. е. используя шину данных ЦПЭ. Мы сделали это так, поскольку иначе бы при отключенном питании АЦП нагружал эту шину. Быстродействие в этой прикладной задаче не важно (особенно поскольку время запуска генератора ЦПЭ может достигать 250 мс), а сама шина порта доступна и не используется.
Потребляемая мощность. В табл. 14.10 дано распределение тока потребления в каждом из этих трех рабочих состояний. Следует отметить большой разброс между «типовым» и «максимальными» токами покоя. Если применены «типовые» ИС, то средний ток потребления (предполагая время «бодрствования» 500 мс за минуту) составляет 168 мкА или 3 года работы на щелочных С-элементах (4500 мА·ч). В худшем случае средний ток потребления равен 680 мкА (9 месяцев) — предельное значение для необслуживаемого регистратора данных. Конечно, «худший случай» означает, что ток покоя каждой ИС определяется по проектному пределу. Имеются два решения: а) использовать гораздо более энергоемкие батареи, с тем чтобы гарантировать для худшего случая удовлетворительный срок их службы; или б) предварительно тщательно отобрать (измеряя ток Iп) ИС, которые определяют срок службы батареи, в данном случае сам ЦПЭ. В большинстве случаев вы сможете, вероятно, выйти из положения, придерживаясь правила в) жить опасно; большинство ИС имеют гораздо меньший ток утечки, чем указано в технических требованиях для худшего случая.
Программирование. Программирование ПЗУ является непосредственным и повторяет основную структуру программно-аппаратных средств, которые мы уже рассмотрели в гл. 11. Однако имеется несколько дополнительных советов.
При выключаемом источнике питания позаботьтесь о выделении времени для восстановления работоспособности питаемого им прибора. Им может быть генератор на кварцевом резонаторе, в этом случае требуемая задержка может составить десятки миллисекунд. Инвертор напряжения 7662 в этой схеме имеет большие номиналы конденсаторов и потребуется несколько миллисекунд для установки его напряжения. Если отключаемый прибор подсоединяется к шине порта (как, скажем, АЦП), то разряды шины порта должны быть либо установлены в НИЗКОЕ состояние, либо запрограммированы как входные, перед тем как сам прибор отключится. Если для развязки шины используются формирователи с третьим состоянием, позаботьтесь о переводе их в состояние высокого полного сопротивления до снятия напряжения с самого прибора.
Упражнение 14.2. Нарисуйте структурную схему регистратора данных типа день-градус. Правильно проведите мероприятия на разрядах параллельного порта, перед тем как «отправить его спать». Не забудьте инициализировать тактовую синхронизацию календаря и УАПП. Позаботьтесь о проверке наличия подключения к последовательному порту во время каждого рабочего цикла.
Альтернативное проектирование. Как мы установили вначале, при работе с напряжением питания 3 В вместо 4,5 В (поскольку напряжение батареи со временем всегда падает, лучше всего сделать понижение исходного напряжения +4,5 В с помощью микромощного стабилизатора с малым переходным напряжением типа LP2951 или ILC7663), ЦПЭ мог бы находиться в режиме ОЖИДАНИЯ, а не в режиме ОСТАНОВКИ. В режиме ожидания (200 мкА, макс, при напряжении 3 В и частоте 1 МГц) внутренний генератор работает и поддерживает как прерывания, так и функцию внутреннего таймера. Таким образом, внешняя система тактовой синхронизации календаря могла бы быть заменена простым маломощным генератором на частоту 32 кГц и делителем (например, дешевой ИС ММ5368 в мини-DIP-корпусе) для обеспечения формирования 1 импульса прерываний в секунду; внутренний таймер должен тогда переводить ЦПЭ в рабочее состояние в программируемый интервал времени, как было и раньше. Следует отметить, что в представленной конструкции большая часть энергии батареи расходуется системой тактовой синхронизации календаря — относительно дорогой кристалл чрезмерной сложности.
Упражнение 14.3. Нарисуйте исправленную схему регистратора температуры, который «засыпает» в режиме ОЖИДАНИЯ.
Изготовители предлагают несколько современных кристаллов, которые позволят вам упростить схему последовательного порта RS-232. В состав схем серий LT1080 и МАХ230 формирователей/приемников стыка RS-232 входят внутренние инверторы напряжения и в некоторых моделях имеется управление их «остановкой» с Iп = 1 мкА, тип. (10 мкА, макс). Мы могли бы, следовательно, заменить схему 7662 на ее дискретный аналог с выключением питания, а схему LT1032 — на единственную ИС МАХ235, в которую входят даже встроенные летающие конденсаторы. К несчастью, приемные секции последнего становятся «мертвыми» во время отключения, так что мы не можем использовать их также и для замены нашего приемника `НС04. В наличии имеются формирователи/приемники стыка RS-232, которые обеспечивают работу одного приемника («бездействие»?) во время микромощного выключения, например ИС LT1039; однако этот кристалл не дает решения проблемы в нашем случае, поскольку для него требуется непрерывная подача напряжения от источника питания во время режима бездействия, что потребовало бы непрерывной работы схемы 7662.
По поводу альтернативных решений последовательного порта стоит отметить, что вы можете в действительности исключить УАПП при использовании пары битов параллельного порта ЦПЭ для организации передачи и приема. Для реализации такого «программного» УАПП вы должны написать программное обеспечение для формирования и приема последовательных потоков бит. В обычной процедуре должна использоваться программная функция внутреннего таймера ЦПЭ, которая устанавливает подходящую символьную скорость. Функция передачи относительно тривиальна, поскольку вы только формируете «1» или «0» по каждому сигналу таймера. Приемная функция, оказывается, требует большего внимания, поскольку вы должны стробировать приходящий на порт бит с гораздо большей тактовой скоростью (в типовом случае в 8 раз выше символьной скорости), для того чтобы выбрать его значение вблизи середины двоичной посылки. Несмотря на проблемы с программированием, программная реализация УАПП часто более пригодна для небольших систем, поскольку позволяет отказаться от БИС.
Вместо прямых выходов стыка RS-232 в конструкцию мог бы входить отключаемый от источника питания модем, обеспечивающий подключение к телефонной линии. Прибор 74НС943 фирмы National был бы хорош в этом случае, обеспечивая ток покоя 8 мА при единственном источнике питания с напряжением +5 В. Пассивная схема «обнаружения вызова» (рис. 14.46) могла бы тогда заменить схему «обнаружения маркера» отрицательного уровня (см. рис. 14.43). Было бы лучше обеспечить запуск прерывания при обнаружении вызова, поскольку никому не понравится ожидать минуту, пока телефон ответит. В представленной конструкции присутствие маркирующего уровня (—3 В или более) могло бы также быть использовано для запуска прерывания.
Рис. 14.46. Обнаружение телефонного вызывного сигнала.
(С любезного разрешения. N. Jotikasthira и М. Bain, фирма Infinet. Inc.)
Упражнение 14.4. Покажите, как сделать запуск прерывания при поступлении маркирующего уровня. Позаботьтесь об обеспечении очистки прерывания программным способом.
Периферийный АЦП мог быть привязан к шине ЦПЭ (вместо порта), при этом КМОП-формирователи сигналов третьего состояния используются для формирования развязки отключаемого от питания прибора (рис. 14.45). Тот же самый прием можно было применить для минимизации потребления мощности от источника питания, если высококачественный УАПП (например, 85С30) как показано на рис. 11.13) подставляется вместо используемого здесь простого 85С52.
Немного философии: всегда соблазнительно постараться выжать последнюю каплю из микромощного проектирования, применяя дьявольские ухищрения в виде крайне маломощных приборов, отключения источника питания и др. Для нашей схемы вы смогли бы, вероятно, преуспеть в таком проектировании, где вместо С-элементов используются АА-элементы. Но крайние усилия (и цена) не имели бы в нашем случае значения, поскольку уменьшение на 20 % размера и веса не существенно для данной прикладной задачи. В действительности имело, вероятно, бы смысл еще больше упростить конструкцию, например, запитать ИС 7662 от того же самого отключаемого источника питания, что и периферийный АЦП, или даже оставить его под питанием постоянно.